package com.demo.crm.springboot3security.mapper;

import java.util.List;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;

/**
 * 基础Mapper接口
 * 
 * @param <T> 实体类型
 */
public interface BaseMapper<T> extends com.mybatisflex.core.BaseMapper<T> {
    /**
     * 分页查询
     * 
     * @param page    分页参数
     * @param wrapper 查询条件
     * @return 分页结果
     */
    default Page<T> findPage(Page<T> page, QueryWrapper wrapper) {
        return this.paginate(page, wrapper);
    }

    /**
     * 查询列表
     * 
     * @param wrapper 查询条件
     * @return 列表结果
     */
    default List<T> findList(QueryWrapper wrapper) {
        return this.selectListByQuery(wrapper);
    }
}